package edu.cebanc.spring.biblioteca.domain;

import java.sql.Timestamp;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="tbl_ejemplares")
public class Ejemplar {
	
	private int id_ejemplar;
	private String titulo;
	private String estado;
	private Timestamp fecha_alta;
	private Idioma idioma;
	private Editorial editorial;
	private Baja baja;
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_ejemplar")
	public int getId_ejemplar() {
		return id_ejemplar;
	}
	public void setId_ejemplar(int id_ejemplar) {
		this.id_ejemplar = id_ejemplar;
	}
	@Column(name="titulo")
	public String getTitulo() {
		return titulo;
	}
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	@Column(name="estado")
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	@Column(name="fecha_alta")
	public Timestamp getFecha_alta() {
		return fecha_alta;
	}
	public void setFecha_alta(Timestamp fecha_alta) {
		this.fecha_alta = fecha_alta;
	}
	@ManyToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "id_idioma")
	public Idioma getIdioma() {
		return idioma;
	}
	public void setIdioma(Idioma idioma) {
		this.idioma = idioma;
	}
	@ManyToOne(cascade = CascadeType.ALL)
	@JoinColumn(name = "id_editorial")
	public Editorial getEditorial() {
		return editorial;
	}
	public void setEditorial(Editorial editorial) {
		this.editorial = editorial;
	}
	@OneToOne(cascade = CascadeType.ALL)
	@JoinColumn(name="id_ejemplar")
	public Baja getBaja() {
		return baja;
	}
	public void setBaja(Baja baja) {
		this.baja = baja;
	}
}
